home *** CD-ROM | disk | FTP | other *** search
- package Box2D.Collision.Shapes
- {
- import Box2D.Collision._pv475;
- import Box2D.Collision._sn334;
- import Box2D.Common.Math._ni781;
- import Box2D.Common.Math._oh327;
- import Box2D.Common.Math.b2Vec2;
- import Box2D.Common._kc225;
-
- public class _vy532 extends _hx306
- {
- public var m_radius:Number;
-
- public var m_localPosition:b2Vec2;
-
- public function _vy532(param1:_sw544)
- {
- var _loc2_:_uy491 = null;
- m_localPosition = new b2Vec2();
- super(param1);
- _loc2_ = param1 as _uy491;
- m_type = e_circleShape;
- m_localPosition._kh737(_loc2_.localPosition);
- m_radius = _loc2_.radius;
- }
-
- override public function _se554(param1:_fh319) : void
- {
- param1.mass = m_density * _kc225.b2_pi * m_radius * m_radius;
- param1.center._kh737(m_localPosition);
- param1.I = param1.mass * (0.5 * m_radius * m_radius + (m_localPosition.x * m_localPosition.x + m_localPosition.y * m_localPosition.y));
- }
-
- override public function _yf138(param1:_ni781, param2:Array, param3:b2Vec2, param4:_sn334, param5:Number) : Boolean
- {
- var _loc6_:_oh327 = null;
- var _loc7_:Number = NaN;
- var _loc8_:Number = NaN;
- var _loc9_:Number = NaN;
- var _loc10_:Number = NaN;
- var _loc11_:Number = NaN;
- var _loc12_:Number = NaN;
- var _loc13_:Number = NaN;
- var _loc14_:Number = NaN;
- var _loc15_:Number = NaN;
- var _loc16_:Number = NaN;
- var _loc17_:Number = NaN;
- _loc6_ = param1.R;
- _loc7_ = param1.position.x + (_loc6_.col1.x * m_localPosition.x + _loc6_.col2.x * m_localPosition.y);
- _loc8_ = param1.position.y + (_loc6_.col1.y * m_localPosition.x + _loc6_.col2.y * m_localPosition.y);
- _loc9_ = param4.p1.x - _loc7_;
- _loc10_ = param4.p1.y - _loc8_;
- _loc11_ = _loc9_ * _loc9_ + _loc10_ * _loc10_ - m_radius * m_radius;
- if(_loc11_ < 0)
- {
- return false;
- }
- _loc12_ = param4.p2.x - param4.p1.x;
- _loc13_ = param4.p2.y - param4.p1.y;
- _loc14_ = _loc9_ * _loc12_ + _loc10_ * _loc13_;
- _loc15_ = _loc12_ * _loc12_ + _loc13_ * _loc13_;
- _loc16_ = _loc14_ * _loc14_ - _loc15_ * _loc11_;
- if(_loc16_ < 0 || _loc15_ < Number.MIN_VALUE)
- {
- return false;
- }
- _loc17_ = -(_loc14_ + Math.sqrt(_loc16_));
- if(0 <= _loc17_ && _loc17_ <= param5 * _loc15_)
- {
- _loc17_ /= _loc15_;
- param2[0] = _loc17_;
- param3.x = _loc9_ + _loc17_ * _loc12_;
- param3.y = _loc10_ + _loc17_ * _loc13_;
- param3._qi627();
- return true;
- }
- return false;
- }
-
- override public function _mb454(param1:_pv475, param2:_ni781) : void
- {
- var _loc3_:_oh327 = null;
- var _loc4_:Number = NaN;
- var _loc5_:Number = NaN;
- _loc3_ = param2.R;
- _loc4_ = param2.position.x + (_loc3_.col1.x * m_localPosition.x + _loc3_.col2.x * m_localPosition.y);
- _loc5_ = param2.position.y + (_loc3_.col1.y * m_localPosition.x + _loc3_.col2.y * m_localPosition.y);
- param1.lowerBound._br741(_loc4_ - m_radius,_loc5_ - m_radius);
- param1.upperBound._br741(_loc4_ + m_radius,_loc5_ + m_radius);
- }
-
- override public function _oa256(param1:_ni781, param2:b2Vec2) : Boolean
- {
- var _loc3_:_oh327 = null;
- var _loc4_:Number = NaN;
- var _loc5_:Number = NaN;
- _loc3_ = param1.R;
- _loc4_ = param1.position.x + (_loc3_.col1.x * m_localPosition.x + _loc3_.col2.x * m_localPosition.y);
- _loc5_ = param1.position.y + (_loc3_.col1.y * m_localPosition.x + _loc3_.col2.y * m_localPosition.y);
- _loc4_ = param2.x - _loc4_;
- _loc5_ = param2.y - _loc5_;
- return _loc4_ * _loc4_ + _loc5_ * _loc5_ <= m_radius * m_radius;
- }
-
- override public function _bs564(param1:_pv475, param2:_ni781, param3:_ni781) : void
- {
- var _loc4_:_oh327 = null;
- var _loc5_:Number = NaN;
- var _loc6_:Number = NaN;
- var _loc7_:Number = NaN;
- var _loc8_:Number = NaN;
- _loc4_ = param2.R;
- _loc5_ = param2.position.x + (_loc4_.col1.x * m_localPosition.x + _loc4_.col2.x * m_localPosition.y);
- _loc6_ = param2.position.y + (_loc4_.col1.y * m_localPosition.x + _loc4_.col2.y * m_localPosition.y);
- _loc4_ = param3.R;
- _loc7_ = param3.position.x + (_loc4_.col1.x * m_localPosition.x + _loc4_.col2.x * m_localPosition.y);
- _loc8_ = param3.position.y + (_loc4_.col1.y * m_localPosition.x + _loc4_.col2.y * m_localPosition.y);
- param1.lowerBound._br741((_loc5_ < _loc7_ ? _loc5_ : _loc7_) - m_radius,(_loc6_ < _loc8_ ? _loc6_ : _loc8_) - m_radius);
- param1.upperBound._br741((_loc5_ > _loc7_ ? _loc5_ : _loc7_) + m_radius,(_loc6_ > _loc8_ ? _loc6_ : _loc8_) + m_radius);
- }
-
- override public function _nw364(param1:b2Vec2) : void
- {
- var _loc2_:Number = NaN;
- var _loc3_:Number = NaN;
- _loc2_ = m_localPosition.x - param1.x;
- _loc3_ = m_localPosition.y - param1.y;
- _loc2_ = Math.sqrt(_loc2_ * _loc2_ + _loc3_ * _loc3_);
- m_sweepRadius = _loc2_ + m_radius - _kc225.b2_toiSlop;
- }
-
- public function _iq304() : b2Vec2
- {
- return m_localPosition;
- }
-
- public function _cd466() : Number
- {
- return m_radius;
- }
- }
- }
-
-